//引入常量
import { ADD_COUNTER, ADD_TO_CART, DE_TO_CART } from './mutations_types'
export default {
  addCart({ state, commit }, payload) {
    //判断商品是否存在,存在就只用数量加一即可,同一商品不用重复添加
    //方式一: 遍历
    // const oldProduct = null
    // for (const item of state.cartList) {
    //   if (item.iid === payload.iid) {
    //     // 1.相等,说明这个商品存在
    //     oldProduct = item
    //   }
    // }
    //方式二:find
    //查找之前数组中是否存在当前商品,有就是当前元素,没有就是空
    let oldProduct = state.cartList.find(item => item.iid === payload.iid)
    // 2.商品存在,则数量加一即可
    if (oldProduct) {
      // oldProduct.count += 1
      commit(ADD_COUNTER, oldProduct)
    } else {
      // 3.如果商品不存在,则oldProduct就不会被赋值,为null--继续操作payloady就行
      payload.count = 1
      payload.isChecked = true
      // state.cartList.push(payload)
      commit(ADD_TO_CART, payload)
    }
  },
  deCount({ state, commit }, payload) {
    let Product = state.cartList.find(item => item.iid === payload.iid)
    commit(DE_TO_CART, Product)
  }
}
